Computing systems often require operations to be carried out in a secure manner. For embedded computing devices and for pervasive systems, security of operation is often crucial. To ensure operations and communications are secure, such systems employ cryptographic methods. The implementation of such a cryptographic method must itself be secure. However, cryptographic methods are subject to attacks. One type of non-invasive attack on computing devices implementing cryptographic methods is known as a power analysis attack. Another type of attack is based on electromagnetic analysis of the device carrying out a cryptographic process. Although the description below references power attacks, it will be appreciated that the countermeasures discussed are also applicable for electromagnetic analysis attacks.
A power analysis attack involves the monitoring of the power consumption of one or more components of a device while the device executes a cryptographic method. Statistical methods are subsequently used to derive information intended to be kept secret by the cryptographic method. Differential power analysis (DPA) is an example of a power analysis attack that may be used against cryptographic operations that include the indexing of one or more tables (substitution tables or “S-boxes) by a combination of secret key and plaintext values (“Differential Power Analysis”, P. Kocher, CRYPTO'99, Lecture Notes in Computer Science, 1666, pp. 388-397, 1999, Springer-Verlag).
Different countermeasures to thwart such attacks have been suggested including frequent regeneration of tables using different random output masks (“Securing the AES Finalists Against Power Analysis Attacks”, T. Messerges, FSE 2000, Lecture Notes in Computer Science, 1978, pp. 150-164, 2001, Springer-Verlag) and using fixed value masking, where only a fixed number of masks is used (“DPA countermeasure based on the ‘masking method’”, K. Itoh et al., ICICS 2001, Lecture Notes in Computer Science, 2288, pp. 440-456, 2001, Springer-Verlag). However, the use of either regenerated tables or multiple masked tables or transformations requires additional memory, power and processor resources that are not always available and the allocation of which is typically not desirable.
Hence there is a need for cryptographic countermeasures which may thwart differential power and related attacks but which have low latency overheads.